<?php
require_once '../includes/config.php';
require_once '../includes/functions.php';
require_admin();

$page_title = 'Car Makes - ORAZ AUTO';
$admin_page_heading = 'Car Makes';
$admin_page_subheading = 'Manage vehicle manufacturers.';

if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['add_make'])) {
    $name = trim($_POST['name'] ?? '');
    $is_popular = isset($_POST['is_popular']) ? 1 : 0;

    if ($name) {
        $slug = slugify($name);

        $check = $pdo->prepare("SELECT id FROM car_makes WHERE slug = ?");
        $check->execute([$slug]);

        if ($check->fetch()) {
            $_SESSION['error'] = 'This car make already exists.';
        } else {
            $stmt = $pdo->prepare("INSERT INTO car_makes (name, slug, is_popular) VALUES (?, ?, ?)");
            $stmt->execute([$name, $slug, $is_popular]);
            $_SESSION['success'] = 'Car make added successfully.';
        }
    } else {
        $_SESSION['error'] = 'Car make name is required.';
    }

    redirect('car-makes.php');
}

if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['update_make'])) {
    $id = (int)($_POST['make_id'] ?? 0);
    $name = trim($_POST['name'] ?? '');
    $is_popular = isset($_POST['is_popular']) ? 1 : 0;

    if ($id && $name) {
        $slug = slugify($name);

        $check = $pdo->prepare("SELECT id FROM car_makes WHERE slug = ? AND id != ?");
        $check->execute([$slug, $id]);

        if ($check->fetch()) {
            $_SESSION['error'] = 'Another make with this name already exists.';
        } else {
            $stmt = $pdo->prepare("UPDATE car_makes SET name = ?, slug = ?, is_popular = ? WHERE id = ?");
            $stmt->execute([$name, $slug, $is_popular, $id]);
            $_SESSION['success'] = 'Car make updated.';
        }
    }

    redirect('car-makes.php');
}

if (isset($_GET['delete'])) {
    $id = (int)$_GET['delete'];

    $check = $pdo->prepare("SELECT COUNT(*) FROM car_models WHERE make_id = ?");
    $check->execute([$id]);

    if ($check->fetchColumn() > 0) {
        $_SESSION['error'] = 'Cannot delete this make because models are linked to it.';
    } else {
        $stmt = $pdo->prepare("DELETE FROM car_makes WHERE id = ?");
        $stmt->execute([$id]);
        $_SESSION['success'] = 'Car make deleted.';
    }

    redirect('car-makes.php');
}

$search = trim($_GET['search'] ?? '');

if ($search !== '') {
    $stmt = $pdo->prepare("SELECT * FROM car_makes WHERE name LIKE ? ORDER BY name ASC");
    $stmt->execute(["%$search%"]);
} else {
    $stmt = $pdo->query("SELECT * FROM car_makes ORDER BY name ASC");
}

$makes = $stmt->fetchAll();
$total_makes = count($makes);
$popular_makes = $pdo->query("SELECT COUNT(*) FROM car_makes WHERE is_popular = 1")->fetchColumn();

require_once '../includes/admin-header.php';
?>

<div class="admin-content">

    <?php if(isset($_SESSION['success'])): ?>
        <div class="alert alert-success"><?= e($_SESSION['success']); unset($_SESSION['success']); ?></div>
    <?php endif; ?>

    <?php if(isset($_SESSION['error'])): ?>
        <div class="alert alert-error"><?= e($_SESSION['error']); unset($_SESSION['error']); ?></div>
    <?php endif; ?>

    <div class="admin-cards">
        <div class="admin-card">
            <h4>Showing Makes</h4>
            <h2><?= e($total_makes) ?></h2>
        </div>

        <div class="admin-card">
            <h4>Popular Makes</h4>
            <h2><?= e($popular_makes) ?></h2>
        </div>

        <div class="admin-card">
            <h4>Homepage Dropdown</h4>
            <h2>Active</h2>
        </div>

        <div class="admin-card">
            <h4>SEO Ready</h4>
            <h2>Yes</h2>
        </div>
    </div>

    <div class="admin-card" style="margin-bottom:25px;">
        <form method="POST" class="form-grid">
            <div class="form-group">
                <label>Add New Make</label>
                <input type="text" name="name" placeholder="Example: Toyota" required>
            </div>

            <div class="form-group" style="justify-content:flex-end;">
                <label>
                    <input type="checkbox" name="is_popular"> Popular Make
                </label>
            </div>

            <div class="form-group" style="justify-content:flex-end;">
                <button class="admin-btn" name="add_make">Add Make</button>
            </div>
        </form>
    </div>

    <div class="admin-card" style="margin-bottom:25px;">
        <form method="GET" class="form-grid">
            <div class="form-group">
                <label>Search Makes</label>
                <input type="text" name="search" value="<?= e($search) ?>" placeholder="Search by make name">
            </div>

            <div class="form-group" style="justify-content:flex-end;">
                <button class="admin-btn">Search</button>
            </div>

            <div class="form-group" style="justify-content:flex-end;">
                <a href="car-makes.php" class="btn btn-outline">Reset</a>
            </div>
        </form>
    </div>

    <div class="admin-table">
        <table>
            <thead>
                <tr>
                    <th>ID</th>
                    <th>Make Name</th>
                    <th>Slug</th>
                    <th>Popular</th>
                    <th>Edit</th>
                    <th>Delete</th>
                </tr>
            </thead>

            <tbody>
                <?php foreach($makes as $make): ?>
                    <tr>
                        <td>#<?= e($make['id']) ?></td>

                        <td><strong><?= e($make['name']) ?></strong></td>

                        <td><?= e($make['slug']) ?></td>

                        <td><?= $make['is_popular'] ? status_badge('Approved') : status_badge('Pending') ?></td>

                        <td>
                            <form method="POST">
                                <input type="hidden" name="make_id" value="<?= e($make['id']) ?>">
                                <input type="text" name="name" value="<?= e($make['name']) ?>" required>
                                <br><br>
                                <label>
                                    <input type="checkbox" name="is_popular" <?= $make['is_popular'] ? 'checked' : '' ?>>
                                    Popular
                                </label>
                                <br><br>
                                <button class="admin-btn" name="update_make">Save</button>
                            </form>
                        </td>

                        <td>
                            <a class="btn btn-dark btn-small"
                               onclick="return confirm('Delete this make?')"
                               href="car-makes.php?delete=<?= e($make['id']) ?>">
                                Delete
                            </a>
                        </td>
                    </tr>
                <?php endforeach; ?>

                <?php if(empty($makes)): ?>
                    <tr>
                        <td colspan="6">No car makes found.</td>
                    </tr>
                <?php endif; ?>
            </tbody>
        </table>
    </div>

</div>

<?php require_once '../includes/admin-footer.php'; ?>